/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package commonlib.drivers;

/**
 *
 * @author maria.cachon
 */
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
import commonlib.domain.DictionaryDataManager;
import commonlib.domain.Dictionary;

public class DriverDictionaryDataManager {


	public static void main(String[] args) {
		Scanner br=new Scanner(System.in);
		DictionaryDataManager dic;
        int op=-1;

        System.out.println("Funciones Clase DiccionarioDataManager");
        System.out.println("Ingrese la ruta del texto que desea tratar");
        dic=new DictionaryDataManager(br.next());
        Dictionary d=new Dictionary();
        ArrayList<String> a;
        while(op!=0)
        {
        	System.out.println("Menu de Funciones");
        	System.out.println("1.Cargar Palabras de un texto al Diccionario");
        	System.out.println("2.Guardar Palabras del diccionario al texto");
            System.out.println("3.Cambiar de texto");
            System.out.println("0.Salir");
           op=br.nextInt();
           switch(op)
           {
           case 2:
        	     if(d.isEmpty())
        	     {
        	    	 System.out.println("Diccionario Vacio");
        	     }
        	     else
        	     {
        	    	 ArrayList<String> s=new ArrayList<String>();
        	    	 s=d.getAllDiccionary();
        	    	 dic.save(s);
        	    	 System.out.println("Texto Cargado");
        	     }
   	           break;
           case 1:
               	  a =new ArrayList<String>();
               	  a=dic.getDictionary();
               	  d.addAll(a);
               	  System.out.println("Opciones del diccionario");
               	  int op2=-1;

               	   while(op2!=0)
                   {
                 	  System.out.println("Menu de Funciones");
                      System.out.println("1.Insertar Palabra Al Diccionario");
                      System.out.println("2.Insertar Palabras Al Diccionario");
                      System.out.println("3.Consultar si el Diccionario contiene una Palabra");
                      System.out.println("4.Eliminar Palabra del Diccionario");
                      System.out.println("5.Consultar todo el diccionario");
                      System.out.println("0.Salir");
                     op2=br.nextInt();
                    switch(op2)
                    {
                    case 1:
                 	      System.out.println("Escriba la Palabra");
                 	      d.addWord(br.next());
                 	      System.out.println("Palabra Agregada");
                 	      break;
                    case 2:
                         System.out.println("Escribe el numero de palabras a insertar");
                         int c=br.nextInt();
                 	     System.out.println("Escribe las Palabras");
                 	     int j=0;
                 	     a=new ArrayList<String>();

                        	  while(j<c)
                        	  {
                        		a.add(br.next());
                        		j++;
                        	  }
               	           d.addAll(a);
              	           System.out.println("Palabras Agregada");
              	           break;
                    case 3:
                 	      System.out.println("Escriba la Palabra a consultar");
              	          if(d.findWord(br.next()))
              	              System.out.println("Existe");
              	          else
              	        	 System.out.println("No Existe");
              	          break;
                    case 4:
                 	      System.out.println("Escriba la Palabra a eliminar");
                 	      if(d.deleteWord(br.next()))
                 	      {
                 	    	  System.out.println("Palabra Eliminada");
                 	      }
                 	      else
                 	      {
                 	    	  System.out.println("Palabra no existe");
                 	      }
              	          break;
                    case 5:
                 	     ArrayList<String>A=new ArrayList<String>();
                 	     A=d.getAllDiccionary();
                 	     Iterator<String> i=A.iterator();
                 	     while(i.hasNext())
                 	     {
                 	    	 System.out.println(i.next());
                 	     }
                    }

                 }
     	           break;
           case 3:
        	      	System.out.println("Escriba la nueva ruta del texto");
        	      	dic=new DictionaryDataManager(br.next());
     	          break;

           }

        }

	}

}
